#ifndef __HYBRID_LEXER__
#define __HYBRID_LEXER__

#ifndef YY_DECL
#define	YY_DECL elisa::HParser::token_type HybridLexer::lex(		\
	elisa::HParser::semantic_type *yylval, elisa::HParser::location_type *yylloc)
#endif

#ifndef __FLEX_LEXER_H
#include "elisa/parser/FlexLexer.h"
#endif

#include "parser.hpp"

namespace elisa
{

class HybridLexer : public yyFlexLexer
{
public:
	HybridLexer(std::istream *yyin = 0, std::ostream *yyout = 0);

	virtual ~HybridLexer();

	virtual HParser::token_type lex(
		HParser::semantic_type *yylval, HParser::location_type *yylloc);
};

}

#endif /* __HYBRID_LEXER__ */
